package com.hitqz.robot.driver.dto.robot;


import com.alibaba.fastjson.annotation.JSONField;

import java.io.Serializable;
import java.util.List;

/**
 * @author xupkun
 * @date 2023/8/3
 */
public class RobotPushDto implements Serializable {
    private static final long serialVersionUID = 7516718578368507001L;

    //(value = "控制器温度")
    @JSONField(name = "controller_temp")
    private float controllerTemp;

    //(value = "机器人的坐标")
    @JSONField(name = "x")
    private float x;

    //(value = "机器人坐标")
    @JSONField(name = "y")
    private float y;

    //(value = "机器人angle坐标")
    @JSONField(name = "angle")
    private float angle;

    //(value = "离机器人最近的id")
    @JSONField(name = "current_station")
    private String currentStation;

    //(value = "速度x")
    @JSONField(name = "vx")
    private float vx;

    //(value = "速度y")
    @JSONField(name = "vy")
    private float vy;

    private float w;

    private float steer;

    private boolean blocked;

    @JSONField(name = "battery_level")
    private float batteryLevel;

    private boolean charging;

    private boolean emergency;

    @JSONField(name = "current_map")
    private String currentMap;

    @JSONField(name = "vehicle_id")
    private String vehicleId;

    @JSONField(name = "create_on")
    private String createOn;

    private double requestVoltage;

    private double requestCurrent;

    private boolean brake;
    @JSONField(name = "soft_emc")
    private boolean softEmc;

    @JSONField(name = "task_status_package")
    private RobotStatusDto taskStatusPackage;

    @JSONField(name = "task_status")
    private Integer taskStatus;

    @JSONField(name = "reloc_status")
    private int relocStatus;

    @JSONField(name = "loadmap_status")
    private int loadMapStatus;

    @JSONField(name = "block_reason")
    private Integer blockReason;

    private Integer blockId;

    @JSONField(name = "slam_status")
    private int slamStatus;

    @JSONField(name = "robot_note")
    private String robotNote;

    @JSONField(name = "current_map_md5")
    private String currentMapMd5;

    @JSONField(name = "jack")
    private JackStatusDto jackStatusDto;

    //(value = "电压")
    private float voltage;

    //(value = "电流")
    private float current;

    //(value = "电池温度")
    @JSONField(name = "battery_temp")
    private float batteryTemp;

    //(value = "任务状态")
    @JSONField(name = "task_type")
    private Integer taskType;

    @JSONField(name = "DO")
    private List<RobotDIODto> DO;

    @JSONField(name = "DI")
    private List<RobotDIODto> DI;

    @JSONField(name = "pgvs")
    private List<PgvDataDto> pgvs;

    /**
     * 本次运行时间
     */
    @JSONField(name = "time")
    private long time;

    @JSONField(name = "errors")
    private String errors;

    @JSONField(name = "fatals")
    private String fatals;

    @JSONField(name = "warnings")
    private String warnings;

    @JSONField(name = "notices")
    private String notices;

    public float getControllerTemp() {
        return controllerTemp;
    }

    public void setControllerTemp(float controllerTemp) {
        this.controllerTemp = controllerTemp;
    }

    public float getX() {
        return x;
    }

    public void setX(float x) {
        this.x = x;
    }

    public float getY() {
        return y;
    }

    public void setY(float y) {
        this.y = y;
    }

    public float getAngle() {
        return angle;
    }

    public void setAngle(float angle) {
        this.angle = angle;
    }

    public String getCurrentStation() {
        return currentStation;
    }

    public void setCurrentStation(String currentStation) {
        this.currentStation = currentStation;
    }

    public float getVx() {
        return vx;
    }

    public void setVx(float vx) {
        this.vx = vx;
    }

    public float getVy() {
        return vy;
    }

    public void setVy(float vy) {
        this.vy = vy;
    }

    public float getW() {
        return w;
    }

    public void setW(float w) {
        this.w = w;
    }

    public float getSteer() {
        return steer;
    }

    public void setSteer(float steer) {
        this.steer = steer;
    }

    public boolean isBlocked() {
        return blocked;
    }

    public void setBlocked(boolean blocked) {
        this.blocked = blocked;
    }

    public float getBatteryLevel() {
        return batteryLevel;
    }

    public void setBatteryLevel(float batteryLevel) {
        this.batteryLevel = batteryLevel;
    }

    public boolean isCharging() {
        return charging;
    }

    public void setCharging(boolean charging) {
        this.charging = charging;
    }

    public boolean isEmergency() {
        return emergency;
    }

    public void setEmergency(boolean emergency) {
        this.emergency = emergency;
    }

    public String getCurrentMap() {
        return currentMap;
    }

    public void setCurrentMap(String currentMap) {
        this.currentMap = currentMap;
    }

    public String getVehicleId() {
        return vehicleId;
    }

    public void setVehicleId(String vehicleId) {
        this.vehicleId = vehicleId;
    }

    public String getCreateOn() {
        return createOn;
    }

    public void setCreateOn(String createOn) {
        this.createOn = createOn;
    }

    public double getRequestVoltage() {
        return requestVoltage;
    }

    public void setRequestVoltage(double requestVoltage) {
        this.requestVoltage = requestVoltage;
    }

    public double getRequestCurrent() {
        return requestCurrent;
    }

    public void setRequestCurrent(double requestCurrent) {
        this.requestCurrent = requestCurrent;
    }

    public boolean isBrake() {
        return brake;
    }

    public void setBrake(boolean brake) {
        this.brake = brake;
    }

    public boolean isSoftEmc() {
        return softEmc;
    }

    public void setSoftEmc(boolean softEmc) {
        this.softEmc = softEmc;
    }

    public RobotStatusDto getTaskStatusPackage() {
        return taskStatusPackage;
    }

    public void setTaskStatusPackage(RobotStatusDto taskStatusPackage) {
        this.taskStatusPackage = taskStatusPackage;
    }

    public int getRelocStatus() {
        return relocStatus;
    }

    public void setRelocStatus(int relocStatus) {
        this.relocStatus = relocStatus;
    }

    public int getLoadMapStatus() {
        return loadMapStatus;
    }

    public void setLoadMapStatus(int loadMapStatus) {
        this.loadMapStatus = loadMapStatus;
    }

    public int getSlamStatus() {
        return slamStatus;
    }

    public void setSlamStatus(int slamStatus) {
        this.slamStatus = slamStatus;
    }

    public String getRobotNote() {
        return robotNote;
    }

    public void setRobotNote(String robotNote) {
        this.robotNote = robotNote;
    }

    public String getCurrentMapMd5() {
        return currentMapMd5;
    }

    public void setCurrentMapMd5(String currentMapMd5) {
        this.currentMapMd5 = currentMapMd5;
    }


    public float getVoltage() {
        return voltage;
    }

    public void setVoltage(float voltage) {
        this.voltage = voltage;
    }

    public float getCurrent() {
        return current;
    }

    public void setCurrent(float current) {
        this.current = current;
    }


    public float getBatteryTemp() {
        return batteryTemp;
    }

    public void setBatteryTemp(float batteryTemp) {
        this.batteryTemp = batteryTemp;
    }

    public Integer getTaskType() {
        return taskType;
    }

    public void setTaskType(Integer taskType) {
        this.taskType = taskType;
    }

    public Integer getBlockReason() {
        return blockReason;
    }

    public void setBlockReason(Integer blockReason) {
        this.blockReason = blockReason;
    }

    public Integer getBlockId() {
        return blockId;
    }

    public void setBlockId(Integer blockId) {
        this.blockId = blockId;
    }

    public List<RobotDIODto> getDO() {
        return DO;
    }

    public void setDO(List<RobotDIODto> DO) {
        this.DO = DO;
    }

    public List<RobotDIODto> getDI() {
        return DI;
    }

    public void setDI(List<RobotDIODto> DI) {
        this.DI = DI;
    }

    public Integer getTaskStatus() {
        return taskStatus;
    }

    public void setTaskStatus(Integer taskStatus) {
        this.taskStatus = taskStatus;
    }

    public String getErrors() {
        return errors;
    }

    public void setErrors(String errors) {
        this.errors = errors;
    }

    public String getFatals() {
        return fatals;
    }

    public void setFatals(String fatals) {
        this.fatals = fatals;
    }

    public String getWarnings() {
        return warnings;
    }

    public void setWarnings(String warnings) {
        this.warnings = warnings;
    }

    public String getNotices() {
        return notices;
    }

    public void setNotices(String notices) {
        this.notices = notices;
    }

    public List<PgvDataDto> getPgvs() {
        return pgvs;
    }

    public void setPgvs(List<PgvDataDto> pgvs) {
        this.pgvs = pgvs;
    }

    public JackStatusDto getJackStatusDto() {
        return jackStatusDto;
    }

    public void setJackStatusDto(JackStatusDto jackStatusDto) {
        this.jackStatusDto = jackStatusDto;
    }

    public long getTime() {
        return time;
    }

    public void setTime(long time) {
        this.time = time;
    }
}
